package vip.web3.admin.sys.service.biz;

import com.baomidou.mybatisplus.extension.service.IService;
import vip.web3.admin.sys.entity.biz.AUserWalletEntity;
import vip.web3.admin.sys.form.user.UserWalletPageForm;
import vip.web3.admin.sys.form.user.WalletUpdateForm;
import vip.web3.admin.sys.vo.biz.export.ExWalletVo;
import vip.web3.common.utils.PageUtils;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 用户钱包Service接口
 *
 * aut-horlilei
 * @date 2024-09-27
 */
public interface IAUserWalletService extends IService<AUserWalletEntity> {


    /**
     * 批量删除用户钱包
     *
     * @param ids 需要删除的用户钱包主键集合
     * @return 结果
     */
    int deleteAUserWalletByIds(String ids);

    AUserWalletEntity findByUserId(Integer userId);

    void updateWallet(AUserWalletEntity wallet, Integer type, BigDecimal amount1, BigDecimal amount2);

    PageUtils pageWallets(Map<String, Object> params, UserWalletPageForm form);

    void sysUpdateWallet(WalletUpdateForm form);

    List<ExWalletVo> export(Map<String, Object> params, UserWalletPageForm form);
}
